﻿using System;
using System.Collections.Generic;
using System.Data.Objects.DataClasses;
using System.Linq;
using PortalCurriculo.Domain;
using PortalCurriculo.WebUI.Helpers;

namespace PortalCurriculo.WebUI.UserControls.Curriculo
{
    public partial class VisualizacaoSimples : UserControlHelper
    {
        public Domain.Curriculo Curriculo
        {
            set
            {
                if (value == null) return;

                lnkNome.Text = value.Profissional.Usuario.Pessoa.PessoaFisica.NomeCompleto.Split(' ')[0];
                lnkNome.PostBackUrl = string.Concat(UrlHelper.Curriculo.Visualizar, value.Id.ToString());
                //lblCartaApresentacao.Value = PageHelper.CortarTexto(value.Profissional.CartaApresentacao, 300);
                lblObjetivo.Value = value.Objetivo;
                lblAtualizado.Text +=
                    value.DataUltimaAtualizacao.ToString(CultureHelper.Cultura.DateTimeFormat.ShortDatePattern);

                PreencherIdiomas(value.IdiomaCurriculoes);
                PreencherEnderecos(value.Profissional.Usuario.Pessoa.Enderecoes.First());


            }
        }

        private void PreencherEnderecos(Domain.Endereco endereco)
        {
            lblLocalizacao.Text = string.Concat(endereco.CEP.Bairro.Descricao, " - ",
                                                endereco.CEP.Bairro.Cidade.Descricao, ", ",
                                                endereco.CEP.Bairro.Cidade.UnidadeFederativa.Descricao);
        }

        private void PreencherIdiomas(EntityCollection<IdiomaCurriculo> idiomaCurriculos)
        {
            lblIdiomas.Value = "<br />";
            //TODO Fazer resource
            if (idiomaCurriculos.Count == 0) lblIdiomas.Value = "Não informado";

            foreach (var idiomaCurriculo in idiomaCurriculos)
            {
                lblIdiomas.Value += string.Concat("- ",
                                                  idiomaCurriculo.Curriculo != null
                                                      ? idiomaCurriculo.Idioma.Descricao
                                                      : idiomaCurriculo.Outro, " - ", idiomaCurriculo.Nivel.Descricao,
                                                  "<br />");
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}